/*
 * ShipStatus.h
 *
 *  Created on: Nov 8, 2011
 *      Author: gonzalo
 */

#ifndef SHIPSTATUS_H_
#define SHIPSTATUS_H_

#include <string>
#include "../../common/DTOShipStatus.h"
#include "equipment/Equipment.h"

class ShipStatus {
public:
	ShipStatus(std::string owner, std::string imagen, float velRotacion,
				int velMaxima, int propulsion, int friccion, int duracionBala,int angle,
				int posX,int posY, std::list<DTOEquipment*> userEquipment, bool drawable,int lives, int basePorcent);

	ShipStatus(DTOShipStatus* shipStatus);

	void updatePosition(int xPosition,int yPosition);

	virtual ~ShipStatus();

	DTOShipStatus* transformInDTO() ;

	//TODO Parche! remover
	void setOwner(std::string realOwner);

	std::string getOwner();
	int getPosX();
	int getPosY();
    int getDuracionBala() const;
    int getFriccion() const;
    std::string getImagePath() const;
    int getPropultion() const;
    int getVelMax() const;
    float getVelRotacion() const;
	int getAngle() const;
	void setAngle(int angle);
	std::list<DTOEquipment*> getEquipment();
	bool getDrawable();
    int getBasePorcent() const;
    int getLives() const;

private:
	std::string owner;
	int posX;
	int posY;
	std::string imagen;
	float velRotacion;
	int velMaxima;
	int propulsion;
	int friccion;
	int duracionBala;
	int angle;
	bool drawable;
	int lives;
	int basePorcent;
	ShipStatus();
	std::list<DTOEquipment*> userEquipment;
};

#endif /* ShipSTATUS_H_ */
